package com.jmxcfc.blfsc.common.sms;

import com.jmxcfc.blfsc.common.common.request.BaseRequest;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 短信平台系统请求入参体封装
 * usage:
 * 1、如果固定的参数,则通过定义实体T来扩展
 * 2、如果可变的参数,则通过定义可变T来扩展
 * 20240603t调整：
 * scheduleTime 命名调整:schduleTime调整为scheduleTime
 * smsMfgChnlCode 命名调整:smsMfgChanCd调整为 smsMfgChnlCode
 *
 * 20240823 将请求业务号requestNo、batchId 调整到 {@link BaseRequest}的header
 * @author pbs
 */
@Data
public class SmsRequest<T>  {

    /**
     * 请求流水号调整到头部 {@link BaseRequest}的header
     */
    //private String requestNo;



    /**
     * 发送模式
     */
    private String sendMode;



    /**
     * 短信计划发送时间(格式:yyyy-MM-dd HH:mm:ss)
     */
    private String scheduleTime;

    /**
     * 短信过期发送时间(格式:yyyy-MM-dd HH:mm:ss)
     */
    private String deadline;

    /**
     * 短信厂商编号
     */
    private String smsMfgNo;

    /**
     * 短信通道编码
     */
    private String smsMfgChnlCode;


    /**
     *调整到 {@link BaseRequest}的header
     * 短信发送批次号(调整到头部)
     94语音对应requestId字段的概念
     玄武对应batchId的概念
     集微对应transactionId字段的概念
     */
    //private String batchId;

    /**
     * 短信发送批次名称
     */
    private String batchName;

    /**
     * 批量发送集合
     */
    private List<MessageParamItem> sendDtl = new ArrayList<>();

    /**
     * 扩展字段
     */
    private T extend;

}
